English

如何解决二○○○年问题

1998-06-02 来源:光明日报 黄绍平 我有话说

随着2000年的临近,计算机系统的2000年问题已成为各国政府、企业和科技界面临的现实问题。该问题已引起各国高度重视,并迅速采取行动。与西方国家相比,我国虽对计算机系统依赖较少,但2000年问题的影响同样不容忽视。而且我国计算机应用处于多品牌、多平台并存局面,软硬件环境非常复杂,解决该问题的难度很大。

从成因看,解决2000年问题在技术上并不困难。2000年问题就是在应用程序和系统时钟中用2位十进制数字表示年份,例如用“80”来代表1980年,“19”二字被省略了。当2000年的第一天到来时,系统时钟将变成“00”,计算机认为是1900年,这样2001年将被认为是1901年,从而会造成不可设想的混乱。解决2000年问题就是要把应用程序和系统时钟中的年份用4位数字表示,或者能判断用2位数字表示的年份是20世纪还是21世纪。难就难在涉及的范围太广,首先必须把所有应用程序出现的2000年问题全部查清,然后要没有遗漏地校正或转换。目前国际上还没有解决2000年问题的统一标准,业界公认解决该问题可分4个阶段,即分析阶段、校正或转换阶段、检验阶段和最后整合阶段。

解决2000年问题不只是技术问题,更是管理问题,解决该问题没有灵丹妙药,从技术上看目前还没有全自动的解决方法。

解决2000年问题在技术上要从软件和硬件两方面着手。从软件上着手,则涉及到一个相当庞大的软件开发和校正或转换工程,即在软件中要么能识别新的硬件提供的用4位数字表示的年份,要么在程序中设置相应的标志来代表系统已经跨世纪。据美国Gartner公司的预计,要从软件上解决2000年问题,全球需要花费3000亿到5000亿美元。

具体来说,从软件上解决2000年问题的方法有两种。一种是扩展法,即把2位数字表示的年份扩展为4位数字,这牵涉到数据定义、数据文件和程序逻辑的修改。另一种方法叫逻辑校正或开窗口法,它不需要改写数据文件,而是修改程序本身使之能从2位数字表示的年份的大小判断它该属于哪一个世纪。后一种方法使用一个基准年,由它确定哪一年属于哪个世纪,譬如若取70为基准年,则凡大于70的年份都属于2000年以前的,例如80表示1980年;而年份数字小于70的都属于2000年以后的,例如01代表2001年。

从硬件上着手主要是PC主板上的ROMBIOS(只读存储器基本输入输出系统)要做到2000年的时钟兼容,即从硬件上首先要扩大系统年份的表示方法。英国MIA组织提出了一个针对PC硬件解决2000年问题的“ProveIt2000”认证测试标准。

手机光明网

光明网版权所有

光明日报社概况 | 关于光明网 | 报网动态 | 联系我们 | 法律声明 | 光明网邮箱 | 网站地图

光明网版权所有